The Java Memory Model: Operationally, Denotationally, Axiomatically

نویسندگان

  • Pietro Cenciarelli
  • Alexander Knapp
  • Eleonora Sibilio
چکیده

A semantics to a small fragment of Java capturing the new memory model (JMM) described in the Language Specification is given by combining operational, denotational and axiomatic techniques in a novel semantic framework. The operational steps (specified in the form of SOS) construct denotational models (configuration structures) and are constrained by the axioms of a configuration theory. The semantics is proven correct with respect to the Language Specification and shown to capture many common examples in the JMM literature.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Higher-Order Horn Logic Programming

We describe a fragment of higher-order Horn logic which can be used as a higher-order extension of Prolog. It allows the programmer to axiomatize predicates of predicates and operations on predicates. The restrictions defining the fragment ensure that the higher-order predicates and operations defined are monotonic and continuous—that they are enumeration operators. As a result, the fragment is...

متن کامل

A Generic Operational Memory Model Specification Framework for Multithreaded Program Verification

Given the complicated nature of modern architectural and language level memory model designs, it is vital to have a systematic approach for specifying memory consistency requirements that can support verification and promote understanding. In this paper, we develop a specification methodology that defines a memory model operationally using a generic transition system with integrated model check...

متن کامل

Sound and Complete Monitoring of Sequential Consistency for Relaxed Memory Models

We present a technique for verifying that a program has no executions violating sequential consistency (SC) when run under the relaxed memory models Total Store Order (TSO) and Partial Store Order (PSO). The technique works by monitoring sequentially consistent executions of a program to detect if similar program executions could fail to be sequentially consistent under TSO or PSO. We propose n...

متن کامل

Analyzing the CRF Java Memory Model

The current Java Memory Model [1] is flawed and has many unintended implications [2]. As multithreaded programming becomes increasingly popular in Java and hardware memory architectures become more aggressively parallel, it is of significant importance to provide a framework for formally analyzing the Java Memory Model. The Murφ verification system is applied to study the Commit/Reconcile/Fence...

متن کامل

Hiding the Java Memory Model with Compilers

The Java memory model is very diÆcult for programmers to understand, and there are several ways of interpreting the memory model. In addition, like most programming languages that follow the shared memory parallel programming model, non-deterministic behaviors due to data races can also occur in Java concurrent programs. Data races and synchronization make it impossible to apply classical compi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007